package cn.com.nes.site.entity.vo.crm.sale;

import cn.com.nes.site.entity.vo.PageVO;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 销售订单VO
 *
 * @Author: ShenWei
 * @Date: 2024/03/15/15:43
 */
@Data
public class SaleOrderInfoVO extends PageVO {
    /**
     * id - 订单id
     */
    private Long id;

    /**
     * 订单名称
     */
    private String saleOrderName;

    /**
     * 商机id
     */
    @NotEmpty(message = "商机")
    private String businessId;

    /**
     * 客户id
     */
    @NotEmpty(message = "客户")
    private String customerId;

    /**
     * 联系电话
     */
    private String phone;

    /**
     * 厂商id
     */
    private String manufactureId;

    /**
     * 公司id
     */
    private String companyId;

    /**
     * 安装信息id
     */
    private String installInfoId;

    /**
     * 安装地址
     */
    private String installAddress;

    /**
     * 预计安装时间
     */
    private Date estimatedInstallTime;

    /**
     * 订单类型，对应字典表param_type = 303
     */
    private Integer orderType;

    /**
     * 订单状态，对应字典表param_type = 302
     */
    private Integer status;

    /**
     * 支付方式，对应字典表param_type = 306
     */
    private Integer payModel;

    /**
     * 总价
     */
    private BigDecimal totalOffer;

    /**
     * 成交总价
     */
    private BigDecimal totalPrice;

    /**
     * 折扣，百分比
     */
    private Integer discount;

    /**
     * 总成本价格
     */
    private BigDecimal totalCostPrice;

    /**
     * 产品成本价格
     */
    private BigDecimal goodsCostPrice;

    /**
     * 其他成本价格
     */
    private BigDecimal otherCostPrice;

    /**
     * 实际成交时间
     */
    private Date realTradingTime;

    /**
     * 是否提交
     */
    private Boolean commit;

    /**
     * 行政区划编码
     */
    private String areaCode;

    /**
     * 是否删除 false-没删除,true-已删除
     */
    private boolean deleted;

    /**
     * 创建人id
     */
    private String gmtCreateId;

    /**
     * 创建时间
     */
    private Date gmtCreate;

    /**
     * 修改人id
     */
    private String gmtModifiedId;

    /**
     * 修改时间
     */
    private Date gmtModified;

    /**
     * 客户房屋id
     */
    private String houseId;

    /**
     * 设备类型
     */
    private String equipmentType;

    /**
     * 行政区划代码
     */
    private String xzqhdm;

    // 扩展参数
    private List<Long> priceSheetIdList;    // 报价单id
    private String createTimeStart;   // 创建日期-起
    private String createTimeEnd;     // 创建日期-止
    private String customerName; // 客户姓名
    private Integer distributeStatus; // 查询订单派单状态 1-已派单 0-未派单 null-全部

}
